import { IPSModelObject } from '../../ipsmodel-object';
import { IPSDEDataQuery } from '../ds/ipsdedata-query';
import { IPSDEOPPriv } from './ipsdeoppriv';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEUserRoleOPPriv
 */
export interface IPSDEUserRoleOPPriv extends IPSModelObject {
  /**
   * 自定义条件
   * @type {string}
   */
  customCond: string;

  /**
   * 数据访问标识
   * @type {string}
   */
  dataAccessAction: string;

  /**
   * 实体数据查询
   *
   * @type {IPSDEDataQuery}
   */
  getPSDEDataQuery(): IPSDEDataQuery | null;

  /**
   * 实体数据查询
   *
   * @type {IPSDEDataQuery}
   */
  get psDEDataQuery(): IPSDEDataQuery | null;

  /**
   * 实体数据查询（必须存在）
   *
   * @type {IPSDEDataQuery}
   */
  getPSDEDataQueryMust(): IPSDEDataQuery;

  /**
   * 实体操作标识
   *
   * @type {IPSDEOPPriv}
   */
  getPSDEOPPriv(): IPSDEOPPriv | null;

  /**
   * 实体操作标识
   *
   * @type {IPSDEOPPriv}
   */
  get psDEOPPriv(): IPSDEOPPriv | null;

  /**
   * 实体操作标识（必须存在）
   *
   * @type {IPSDEOPPriv}
   */
  getPSDEOPPrivMust(): IPSDEOPPriv;
}
